package com.cjc.express.service;


import com.cjc.express.entity.Company;
import com.cjc.express.entity.CompanyJsons;
import com.cjc.express.entity.Price;
import com.cjc.express.entity.PriceJsons;
import com.github.pagehelper.Page;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * ====================
 * Created with intellij IDEA
 * 创建者：杜一平
 * 日期：2017/1/19（星期五）
 * 时间：08：00
 * 说明：该接口是管理员操作的服务层，用于编写管理员相关操作的接口
 */

public interface AdminService {

    // @author：hjj @描述：通过快递公司名称、寄件地和收件地查询报价表中的一条记录
    Price findPrice(String companyname, String pricedest);

    // @author：hjj @描述：将excel表导入数据库
    String executeImportExcel(MultipartFile mfile);

    // 插入快递公司
    CompanyJsons insertCompany(String companyname);

    // 查询所有快递公司
    List<Company> listallcompany();


    // 依据id更新快递公司
    CompanyJsons updateByPrimaryKeySelective(Company company);

    // 依据快递公司id删除快递公司
    CompanyJsons deleteByPrimaryKey(String companyid);

    // 查询所有报价表
    Page<Price> selectAllPrice(Integer pageNum, Integer pageSize);

    // 依据id更新报价表
    PriceJsons updateByPrimaryKeySelective(Price price);

    // 插入报价表
    PriceJsons insertSelective(Price price);

    // 依据id删除报价表
    PriceJsons deleteByPriceId(String priceid);

    // 依据公司名字与报价表并搜索
    Page<Price> selectByCompanyAndDest(String companyname, String dest, Integer pageNum, Integer pageSize);

    // 依据收件地查询同一收件地不同公司的报价表
    Page<Price> selectByDest(String dest, Integer pageNum, Integer pageSize);

    // 依据快递公司查询同一快递公司不同收件地的报价表
    Page<Price> selectByCompany(String companyname, Integer pageNum, Integer pageSize);

}
